home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Loadstar 157
/
157.d81
/
alien zoo
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-08-26
|
10KB
|
337 lines
10 poke55,0:poke56,52:clr
14 poke53371,0
20 print"[147]":gosub2000
30 :
40 poke53371,0:poke53269,0:gosub990:cl=10:rw=4:tb=10:wd=18:ln=11:gosub1430
50 poke214,6:print:printtab(14)"[158]options menu":printtab(14)"[156] "
80 printtab(14)"[156]start game":printtab(14)md$(md):printtab(14)"level"lv
85 fori=.to2:printtab(14)m$(i):next
90 printtab(14)" "
100 printtab(12)"[158]crsr keys/return":f=1
120 syssm+14,55910,55922,55630+40*f
130 gosub2300
140 syssm+14,55630,55642,55630+40*f
150 ifa$=""orjy=125thenf=f+1:iff>6thenf=1
160 ifa$="[145]"orjy=126thenf=f-1:iff<1thenf=6
170 ifa$<>chr$(13)andjy>111then120
180 onfgoto190,195,200,220,220,220
190 gosub1250:gosub1010:goto290
195 md=md+1:ifmd>2thenmd=0
196 poke214,9:print:sysad+9,15:printtab(14)""md$(md)" ":goto120
200 lv=lv+1:iflv>10thenlv=1
210 poke214,10:print:sysad+9,15:printtab(20)" [157][157][157]"lv:goto120
220 syssm,1024,2024,30720:syssm+14,55296,56296,31744
230 onf-3goto240,250,260
240 sysad+9,12:gosub1490:goto270
250 gosub2660:goto270
260 sysad+9,3:gosub1770:ifa$="y"thensysad+3:goto40000
270 syssm+14,31744,32744,55296:syssm,30720,31720,1024:goto120
280 :
290 fori=.to7:poke2040+i,208+i:next:poke2041,208
300 syssm+14,51800,51847,53248
320 mv=0:gosub2480:r=0-(md=2):c=0-(md=2):r2=7:c2=7:al=0
330 poke53248,c*32+28:poke53249,r*32+54:poke53269,1
340 :
350 poke198,0:gosub2300
360 ifa$=""orjy=119thenc=c+1:ifc>5+(md=2)thenc=5+(md=2)
370 ifa$="[157]"orjy=123thenc=c-1:ifc<0-(md=2)thenc=0-(md=2)
380 ifa$=""orjy=125thenr=r+1:ifr>5+(md=2)thenr=5+(md=2)
390 ifa$="[145]"orjy=126thenr=r-1:ifr<0-(md=2)thenr=0-(md=2)
400 poke53248,c*32+28:poke53249,r*32+54
405 ifjy<112andmd=0thenpoke53371,0:goto470
410 ifa$=" "orjy=107thenpoke53371,0:onmd+1goto350,570,490
415 ifa$=chr$(13)orjy=103thenpoke53371,0:onmd+1goto470,580,590
420 ifa$=chr$(160)orjy=110andmd=1thenpoke53371,0:goto670
425 ifa$=chr$(141)orjy=109andmd=1thenpoke53371,0:goto680
430 ifa$="[211]"thengosub1880
440 ifa$="[133]"thengosub1030
450 ifa$="[134]"thengosub990:gosub2660:gosub1010:poke53269,1
455 ifa$="[136]"thengosub1810:ifa$="y"then40
460 goto350
465 rem switch
470 ifr=r2andc=c2thensysad+9,2:poke53269,1:al=0:r2=7:c2=7:goto350
472 al=al+1:ifal=2then475
473 sysad+9,7:poke53250,c*32+28:poke53251,r*32+54:poke53269,3:r2=r:c2=c:goto350
475 f=bd(r,c):bd(r,c)=bd(r2,c2):bd(r2,c2)=f:sysad+9,14:poke53269,0
476 poke214,r*4:print:printtab(c*4+1)a$(bd(r,c))
477 poke214,r2*4:print:printtab(c2*4+1)a$(bd(r2,c2))
478 r2=7:c2=7:al=0:goto710
480 rem rotate
490 gosub2340:sysad+9,7:f=bd(r-1,c-1)
500 bd(r-1,c-1)=bd(r-1,c)
510 bd(r-1,c)=bd(r-1,c+1)
520 bd(r-1,c+1)=bd(r,c+1)
530 bd(r,c+1)=bd(r+1,c+1)
540 bd(r+1,c+1)=bd(r+1,c)
550 bd(r+1,c)=bd(r+1,c-1)
555 bd(r+1,c-1)=bd(r,c-1)
560 bd(r,c-1)=f:goto690
565 rem left
570 f=bd(r,0):sysad+9,7
572 fori=.to4:bd(r,i)=bd(r,i+1):next:bd(r,5)=f
575 poke53269,0:poke214,r*4:print
576 fori=.to5:printtab(i*4+1)a$(bd(r,i))"[145][145][145]":next:goto710
578 rem up
580 f=bd(0,c):sysad+9,7
581 fori=.to4:bd(i,c)=bd(i+1,c):next:bd(5,c)=f
582 poke53269,0:fori=.to5:poke214,i*4:print
583 printtab(c*4+1)a$(bd(i,c)):next:goto710
585 rem right
590 gosub2340:sysad+9,14:f=bd(r-1,c-1)
600 bd(r-1,c-1)=bd(r,c-1)
610 bd(r,c-1)=bd(r+1,c-1)
620 bd(r+1,c-1)=bd(r+1,c)
630 bd(r+1,c)=bd(r+1,c+1)
640 bd(r+1,c+1)=bd(r,c+1)
650 bd(r,c+1)=bd(r-1,c+1)
655 bd(r-1,c+1)=bd(r-1,c)
660 bd(r-1,c)=f:goto690
665 rem right
670 f=bd(r,5):sysad+9,14
672 fori=5to1step-1:bd(r,i)=bd(r,i-1):next:bd(r,0)=f:goto575
678 rem down
680 f=bd(5,c):sysad+9,14
681 fori=5to1step-1:bd(i,c)=bd(i-1,c):next:bd(0,c)=f:goto582
685 :
690 poke53269,0:fori=r-1tor+1:poke214,i*4:print
700 forj=c-1toc+1:printtab(j*4+1)a$(bd(i,j))"[145][145][145]":next:next
710 mv=mv+1:poke214,11:print:printtab(33)""mv:goto740
730 :
740 f=0:fori=.to2:forj=.to2
750 x%=bd(5-i,5-j)/6:y%=bd(5-j,5-i)/6
760 x=int(bd(i,j)/6):y=int(bd(j,i)/6)
770 fork=.to5:ifk=jthen790
780 ifint(bd(i,k)/6)=xorint(bd(k,i)/6)=ythenf=1:k=5:j=2:i=2
790 ifk=5-jthen810
800 ifint(bd(5-i,k)/6)=x%orint(bd(k,5-i)/6)=y%thenf=1:k=5:j=2:i=2
810 next:next:next
820 iff=0then850
830 poke53269,1:goto350
840 :
850 gosub990:ifmv>=sc(md,lv)andsc(md,lv)<>0then950
860 sysad+9,5:cl=4:rw=7:tb=5:wd=27:ln=6:gosub1430
870 poke214,9:print:poke53271,1:poke53277,1:poke53288,10:poke2041,209
875 poke53250,81:poke53251,134
880 printtab(11)"a new best score!
890 [153][163]11)"great going, kid!":[151]53269,6
900 [153][163]9)"(now don't get foggy)":[151]198,0
910 n$(md,lv)[178]n$:sc(md,lv)[178]mv
920 [161]a$:[139]a$[178]""[167]920
930 [141]1490:lv[178]lv[170]1:[139]lv[177]10[167]lv[178]1:[141]2580:[141]1010:[137]40
940 [141]1010:[137]290
950 [158]ad[170]9,8:cl[178]4:rw[178]9:tb[178]11:wd[178]16:ln[178]2:[141]1430
960 [153][163]13)"onononyou solved it!":[137]920
980 :
990 [158]sm,1024,2024,16384:[158]sm[170]14,55296,56296,17408:[142]
1000 :
1010 [158]sm[170]14,17408,18408,55296:[158]sm,16384,17384,1024:[142]
1020 :
1030 [141]990:[153]""[163]7)"[[[[[[[[[[[[":[151]53269,0
1040 [151]214,23:[153]:[153][163]7)" checking... "
1050 [129]i[178].[164]5:f[178]0:[129]j[178].[164]5
1060 x[178][181](bd(j,i)[173]6)
1070 [129]k[178].[164]5:[139]k[178]j[167]1090
1080 [139][181](bd(k,i)[173]6)[178]x[167]f[178]1:k[178]5:j[178]5
1090 [130]:[130]:[153]""[163]i[172]4[170]2);
1100 [139]f[178]1[167][153]"\":[158]ad[170]9,2:[137]1120
1110 [153]"\":[158]ad[170]9,1
1120 [130]
1130 [129]i[178].[164]5:f[178]0:[129]j[178].[164]5
1140 y[178][181](bd(i,j)[173]6)
1150 [129]k[178].[164]5:[139]k[178]j[167]1170
1160 [139][181](bd(i,k)[173]6)[178]y[167]f[178]1:k[178]5:j[178]5
1170 [130]:[130]:[151]214,i[172]4[170]1:[153]:[153][163]24);
1180 [139]f[178]1[167][153]"\":[158]ad[170]9,2:[137]1200
1190 [153]"\":[158]ad[170]9,1
1200 [130]
1210 [153][163]6)" press a key ":[151]198,0
1220 [161]a$:[139]a$[178]""[167]1220
1230 [141]1010:[151]53269,1[170]al[172]2:[142]
1240 [143] -- player name --
1250 [158]ad[170]9,11:cl[178]4:rw[178]8:tb[178]7:wd[178]24:ln[178]4:[141]1430
1260 [153][163]9)"onononononprintplease enter your name":[151]53370,0
1270 f$[178]n$:f[178]0:b$[178]"__\\^^\\__ "
1280 [151]214,12:[153]:[153][163]12)f$;
1290 f[178]f[170]1:[139]f[177]12[167]f[178]1
1300 [153]"print"[202](b$,f,1)"cmd";
1310 jy[178][194](56320):[161]a$:[139]a$[178]""[175]jy[178]127[167]1290
1320 [139]a$[177]"@"[175]a$[179]"["[167]1380
1330 [139]a$[177]","[175]a$[179]":"[167]1380
1340 [139]a$[178]" "[167]1380
1350 [139](a$[178][199](13))[176](jy[179]112)[175](f$[179][177]"")[167][153]" ":[151]53371,0:[137]1410
1360 [139]a$[178][199](20)[175]f$[177]""[167]f$[178][200](f$,[195](f$)[171]1):[153]" cmdcmdprint";
1370 [137]1290
1380 [139][195](f$)[177]15[167]1290
1390 [153]""a$;:f$[178]f$[170]a$
1400 [137]1290
1410 n$[178]f$:[142]
1420 :
1430 [151]646,cl:[151]214,rw:[153]
1440 [153][163]tb)";"[200](x$,wd)"<"
1450 [129]i[178].[164]ln:[153][163]tb)"#"[200](s$,wd)"#":[130]
1460 [153][163]tb)"="[200](x$,wd)">"
1470 [142]
1480 :
1490 [151]53269,.:[153]"load";
1500 a$[178]"cont[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[cmdsave["
1510 [129]i[178].[164]4:[153]a$:[130]
1520 [153]"onononon;"[200](x$,34)"<"
1530 [153]"# list(NULL) clrthe quirkonian hall of fame! list(NULL) #"
1540 [153]"="[200](x$,34)">"
1550 [153]" cont\\\\\\\\\ \\\\\\\\\\ \\\\\\\\\"
1560 [153]" cont\ level cont\ cont\ player cont\ cont\ moves cont\"
1570 [153]" cont\\\\\\\\\ \\\\\\\\\\ \\\\\\\\\"
1590 [129]i[178]10[164]1[169][171]1
1600 [153][163]6[171][195]([196](i)))""i"cmd."[163]12)[202](c$,i,1)[200](s$,16)
1610 [153][163]12)[202](c$,i,1)"on"n$(md,i)[163]36[171][195]([196](sc(md,i))))""sc(md,i)
1620 [130]
1630 [153][163]30)"clrpress any"
1640 [153]" sclrave scores eclrrase scores clrother key"
1650 [153][163]31)"to exit"
1660 [158]sm[170]14,55296[170]400,55296[170]800,55296[170]360
1670 [158]sm[170]14,55296[170]360,55296[170]400,55296[170]760
1680 jy[178][194](56320):[161]a$:[139]a$[178]""[175]jy[177]111[167]1660
1682 [141]2310:[151]53371,0
1690 [139]a$[179][177]"s"[175]a$[179][177]"e"[167][142]
1700 [159]15,dv,15,"s0:zoo.scores":[160]15
1710 [139]a$[179][177]"e"[167]1730
1720 [129]i[178]1[164]10:n$(md,i)[178]"the nameless one":sc(md,i)[178]0:[130]
1730 [159]8,dv,8,"zoo.scores,p,w"
1740 [129]i[178].[1